Machine Learning (ML) models typically comprise multiple features and data elements upon which learning is applied. A feature can be, for example, a user-age (i.e., the number of days since the user enrolled with the service). An ML model can learn the behavior of a user on multiple days and treat each day separately as a different value, making learning less effective. The behavior of a user whose age is 51 days is typically not distinctive in any significant way from a user whose age is 52 days.
ML algorithms typically employ a discretization procedure that maps ranges of values to a smaller subset of values. For example, ages can be organized into “buckets” (e.g., 0-4 days will be mapped to bucket 0; 5-10 days will be mapped to bucket 5; and 11-31 days will be mapped to bucket 11). Thus, the ML algorithm will have a smaller range of values to deal with and learn upon (0, 5 and 11), thereby making learning more efficient by having more observations per bucket. More observations for fewer discrete values will increase the quality of the learning and the corresponding performance.
Such discretization techniques, however, can lead to a “discretization shock” whenever a user moves from one range (bucket) to another. In other words, when the user-age of a user changes from 4 days to 5 days in the above example, the values will be mapped to different ranges, on which the ML algorithm has calculated a different score. These differences can (and often do) result in a “shock” to the user's score. In adaptive authentication products, for example, this may result in a user suddenly getting a high risk score when it was low for the prior calculation (potentially causing increased false positives). In addition, the user experience is impaired by the additional authentication challenges that may be caused by the higher risk score.
A need exists for techniques for smoothing discretized values as a result of the increased scores (and thereby avoid “discretization shock”).